package com.zhkj.txg.module.member.entity

import com.chad.library.adapter.base.entity.MultiItemEntity
import com.google.gson.annotations.SerializedName
import com.zhkj.lib.http.BaseResponse

data class MemberCardResponse(
    val data: MemberEntity? = null
) : BaseResponse()

data class MemberEntity(
    @SerializedName("is_member")
    val isMember: Boolean = false,
    val earnings: Double = 0.0,
    @SerializedName("invite_code")
    val inviteCode: Long = 0,
    @SerializedName("share_url")
    val shareUrl: String? = null,
    @SerializedName("card_info")
    val cardInfo: MemberCardEntity? = null,
    @SerializedName("level_name")
    val levelName: String? = null,
    @SerializedName("level_image")
    val levelImage: String? = null,
    @SerializedName("next_level_name")
    val nextLevelName: String? = null,
    @SerializedName("progress")
    val progress: String? = null,
    @SerializedName("level_desc")
    val levelDesc: MutableList<MemberLevelEntity> = mutableListOf()
)

data class MemberLevelEntity(
    val name: String? = null,
    val explain: String? = null
)

data class MemberCardEntity(
    val price: String = "0.0",
    @SerializedName("invite_reward")
    val reward: String = "0.0",
    val welfare: MutableList<MemberWelfareEntity> = mutableListOf(),
    val interest: MutableList<InterestEntity> = mutableListOf(),
    @SerializedName("play_desc")
    val playDesc: String? = null
)


data class InterestEntity(
    val title: String? = null,
    val content: MutableList<InterestChildEntity> = mutableListOf()
) : MultiItemEntity {
    override var itemType: Int = 0
    var expand: Boolean = false
}

data class InterestChildEntity(
    val title: String? = null,
    val desc: String? = null,
    val image: String? = null
)

data class MemberWelfareEntity(
    val title: String? = "",
    val desc: String? = ""
)